#include <stdio.h>
#define N 4
#define M 4
int main()
{
    int a[N][M];
    //获取数组元素数据
    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < M;j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
    //找鞍点
    for(int i = 0; i < N; i++)//i :行
    {
        //行中找最大
        int max = a[i][0];//一行中第一个元素作为基准值
        int max_j = 0;//最大元素所在列
        for(int j = 0; j < M;j++)
        {
            if(max <= a[i][j])
            {
                max = a[i][j];
                max_j = j;
            }
        }// a[i][max_j]

        //固定最大元素所在位置：找列中最小
        int min = a[0][max_j];
        int min_i = 0;//最小元素所在行
        for(int k = 0; k < N; k++)
        {
            if(min > a[k][max_j])
            {
                min = a[k][max_j];
                min_i = k;
            }
        }//a[min_i][max_j]
        //判断找到的列中最小元素 与 最大元素所在位置 是否是同一个位置  ，是 ：鞍点
        if(i == min_i)
        {
            printf("a[%d][%d] == %d\n", min_i,max_j,a[min_i][max_j]);
        }
    }

}